Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks. While in the past most video streaming technologies utilized streaming protocols, such as Real-Time Transport Protocol (RTP) with Real Time Streaming Protocol (RTSP), today's adaptive streaming technologies are almost exclusively based on Hypertext Transfer Protocol (HTTP) and designed to work efficiently over large distributed HTTP networks, such as the Internet.
Adaptive bitrate streaming works by detecting a user's bandwidth and CPU capacity in real time and adjusting the quality of a media stream accordingly. It requires the use of an encoder which can encode a single source media at multiple bitrates (lower bitrates for lower quality and higher bitrates for higher quality) in multiple segments. The client (device that receives the media) then switches between streaming the different media encoding segments at various bitrates (various qualities) depending on available resources.
While such a technique results in very little buffering, fast start time and a good experience for both high-end and low-end connections, the media segments are treated equally important. As a result, the client will select the bitrate of the next media segment solely based on the user's bandwidth and CPU capacity.
Hence, media segments that may be of higher importance to the user (e.g., goals, touchdowns and home runs in sports videos, key moments in movie videos, footage in a news video), may not be selected with the highest quality bitrate since all media segments are treated equally important. As a result, the user's quality of experience in viewing media may be deficient.